<html>
<body>
Reports inner classes that can be made <code>static</code>.
<p>A <code>static</code> inner class does not keep an implicit reference to its enclosing instance.
  When using Java 17 or before,
  this prevents a common cause of memory leaks and uses less memory per instance of the class.</p>
<p><b>Example:</b></p>
<pre><code>
  <b>public class</b> Outer {
    <b>class</b> Inner { // not static
      <b>public void</b> foo() {
        bar("x");
      }

      <b>private void</b> bar(String string) {}
    }
  }
</code></pre>
<p>After the quick-fix is applied:</p>
<pre><code>
  <b>public class</b> Outer {
    <b>static class</b> Inner {
      <b>public void</b> foo() {
        bar("x");
      }

      <b>private void</b> bar(String string) {}
    }
  }
</code></pre>
<!-- tooltip end -->
</body>
</html>